<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Kinetis Bootloader: Packet Interface</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="nxp_logo_small.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Kinetis Bootloader
   &#160;<span id="projectnumber">2.0.0</span>
   </div>
   <div id="projectbrief">Common bootloader for Kinetis devices</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Introduction</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="modules.html"><span>Modules</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__packet.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">Packet Interface</div>  </div>
</div><!--header-->
<div class="contents">

<p>Serial packetizer.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:structcommand__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structcommand__packet__t">command_packet_t</a></td></tr>
<tr class="memdesc:structcommand__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Command packet format.  <a href="group__packet.html#structcommand__packet__t">More...</a><br /></td></tr>
<tr class="separator:structcommand__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structflash__erase__all__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structflash__erase__all__packet__t">flash_erase_all_packet_t</a></td></tr>
<tr class="memdesc:structflash__erase__all__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlashEraseAll packet format.  <a href="group__packet.html#structflash__erase__all__packet__t">More...</a><br /></td></tr>
<tr class="separator:structflash__erase__all__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structflash__erase__region__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structflash__erase__region__packet__t">flash_erase_region_packet_t</a></td></tr>
<tr class="memdesc:structflash__erase__region__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlashEraseRegion packet format.  <a href="group__packet.html#structflash__erase__region__packet__t">More...</a><br /></td></tr>
<tr class="separator:structflash__erase__region__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structget__property__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structget__property__packet__t">get_property_packet_t</a></td></tr>
<tr class="memdesc:structget__property__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">GetProperty packet format.  <a href="group__packet.html#structget__property__packet__t">More...</a><br /></td></tr>
<tr class="separator:structget__property__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structset__property__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structset__property__packet__t">set_property_packet_t</a></td></tr>
<tr class="memdesc:structset__property__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">SetProperty packet format.  <a href="group__packet.html#structset__property__packet__t">More...</a><br /></td></tr>
<tr class="separator:structset__property__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structreceive__sb__file__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structreceive__sb__file__packet__t">receive_sb_file_packet_t</a></td></tr>
<tr class="memdesc:structreceive__sb__file__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">ReceiveSbFile packet format.  <a href="group__packet.html#structreceive__sb__file__packet__t">More...</a><br /></td></tr>
<tr class="separator:structreceive__sb__file__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structwrite__memory__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structwrite__memory__packet__t">write_memory_packet_t</a></td></tr>
<tr class="memdesc:structwrite__memory__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">WriteMemory packet format.  <a href="group__packet.html#structwrite__memory__packet__t">More...</a><br /></td></tr>
<tr class="separator:structwrite__memory__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structread__memory__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structread__memory__packet__t">read_memory_packet_t</a></td></tr>
<tr class="memdesc:structread__memory__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">ReadMemory packet format.  <a href="group__packet.html#structread__memory__packet__t">More...</a><br /></td></tr>
<tr class="separator:structread__memory__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structfill__memory__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structfill__memory__packet__t">fill_memory_packet_t</a></td></tr>
<tr class="memdesc:structfill__memory__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">FillMemory packet format.  <a href="group__packet.html#structfill__memory__packet__t">More...</a><br /></td></tr>
<tr class="separator:structfill__memory__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structexecute__call__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structexecute__call__packet__t">execute_call_packet_t</a></td></tr>
<tr class="memdesc:structexecute__call__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute/Call packet format.  <a href="group__packet.html#structexecute__call__packet__t">More...</a><br /></td></tr>
<tr class="separator:structexecute__call__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structflash__security__disable__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structflash__security__disable__packet__t">flash_security_disable_packet_t</a></td></tr>
<tr class="memdesc:structflash__security__disable__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlashSecurityDisable packet format.  <a href="group__packet.html#structflash__security__disable__packet__t">More...</a><br /></td></tr>
<tr class="separator:structflash__security__disable__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structflash__program__once__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structflash__program__once__packet__t">flash_program_once_packet_t</a></td></tr>
<tr class="memdesc:structflash__program__once__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlashProgramOnce packet format.  <a href="group__packet.html#structflash__program__once__packet__t">More...</a><br /></td></tr>
<tr class="separator:structflash__program__once__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structflash__read__once__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structflash__read__once__packet__t">flash_read_once_packet_t</a></td></tr>
<tr class="memdesc:structflash__read__once__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlashReadOnce packet format.  <a href="group__packet.html#structflash__read__once__packet__t">More...</a><br /></td></tr>
<tr class="separator:structflash__read__once__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structflash__read__resource__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structflash__read__resource__packet__t">flash_read_resource_packet_t</a></td></tr>
<tr class="memdesc:structflash__read__resource__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlashReadResource packet format.  <a href="group__packet.html#structflash__read__resource__packet__t">More...</a><br /></td></tr>
<tr class="separator:structflash__read__resource__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structconfigure__quadspi__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structconfigure__quadspi__packet__t">configure_quadspi_packet_t</a></td></tr>
<tr class="memdesc:structconfigure__quadspi__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">ConfigureQuadSpi packet format.  <a href="group__packet.html#structconfigure__quadspi__packet__t">More...</a><br /></td></tr>
<tr class="separator:structconfigure__quadspi__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structreliable__update__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structreliable__update__packet__t">reliable_update_packet_t</a></td></tr>
<tr class="memdesc:structreliable__update__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">ReliableUpdate packet format.  <a href="group__packet.html#structreliable__update__packet__t">More...</a><br /></td></tr>
<tr class="separator:structreliable__update__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structconfigure__i2c__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structconfigure__i2c__packet__t">configure_i2c_packet_t</a></td></tr>
<tr class="memdesc:structconfigure__i2c__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">ConfigureI2c packet format.  <a href="group__packet.html#structconfigure__i2c__packet__t">More...</a><br /></td></tr>
<tr class="separator:structconfigure__i2c__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structconfigure__spi__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structconfigure__spi__packet__t">configure_spi_packet_t</a></td></tr>
<tr class="memdesc:structconfigure__spi__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">ConfigureSpi packet format.  <a href="group__packet.html#structconfigure__spi__packet__t">More...</a><br /></td></tr>
<tr class="separator:structconfigure__spi__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structconfigure__can__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structconfigure__can__packet__t">configure_can_packet_t</a></td></tr>
<tr class="memdesc:structconfigure__can__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">ConfigureCan packet format.  <a href="group__packet.html#structconfigure__can__packet__t">More...</a><br /></td></tr>
<tr class="separator:structconfigure__can__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structgeneric__response__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structgeneric__response__packet__t">generic_response_packet_t</a></td></tr>
<tr class="memdesc:structgeneric__response__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic response packet format.  <a href="group__packet.html#structgeneric__response__packet__t">More...</a><br /></td></tr>
<tr class="separator:structgeneric__response__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structget__property__response__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structget__property__response__packet__t">get_property_response_packet_t</a></td></tr>
<tr class="memdesc:structget__property__response__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Property response packet format.  <a href="group__packet.html#structget__property__response__packet__t">More...</a><br /></td></tr>
<tr class="separator:structget__property__response__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structread__memory__response__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structread__memory__response__packet__t">read_memory_response_packet_t</a></td></tr>
<tr class="memdesc:structread__memory__response__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read Memory response packet format.  <a href="group__packet.html#structread__memory__response__packet__t">More...</a><br /></td></tr>
<tr class="separator:structread__memory__response__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structflash__read__once__response__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structflash__read__once__response__packet__t">flash_read_once_response_packet_t</a></td></tr>
<tr class="memdesc:structflash__read__once__response__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flash Read Once response packet format.  <a href="group__packet.html#structflash__read__once__response__packet__t">More...</a><br /></td></tr>
<tr class="separator:structflash__read__once__response__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structflash__read__resource__response__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structflash__read__resource__response__packet__t">flash_read_resource_response_packet_t</a></td></tr>
<tr class="memdesc:structflash__read__resource__response__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flash Read Resource response packet format.  <a href="group__packet.html#structflash__read__resource__response__packet__t">More...</a><br /></td></tr>
<tr class="separator:structflash__read__resource__response__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structframing__header__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structframing__header__t">framing_header_t</a></td></tr>
<tr class="memdesc:structframing__header__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serial framing header.  <a href="group__packet.html#structframing__header__t">More...</a><br /></td></tr>
<tr class="separator:structframing__header__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structframing__sync__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structframing__sync__packet__t">framing_sync_packet_t</a></td></tr>
<tr class="memdesc:structframing__sync__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serial framing sync packet.  <a href="group__packet.html#structframing__sync__packet__t">More...</a><br /></td></tr>
<tr class="separator:structframing__sync__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structframing__data__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structframing__data__packet__t">framing_data_packet_t</a></td></tr>
<tr class="memdesc:structframing__data__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serial framing data packet.  <a href="group__packet.html#structframing__data__packet__t">More...</a><br /></td></tr>
<tr class="separator:structframing__data__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structserial__framing__packet__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structserial__framing__packet__t">serial_framing_packet_t</a></td></tr>
<tr class="memdesc:structserial__framing__packet__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Framing packet with data area.  <a href="group__packet.html#structserial__framing__packet__t">More...</a><br /></td></tr>
<tr class="separator:structserial__framing__packet__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structserial__data__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structserial__data__t">serial_data_t</a></td></tr>
<tr class="memdesc:structserial__data__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Format of global context data.  <a href="group__packet.html#structserial__data__t">More...</a><br /></td></tr>
<tr class="separator:structserial__data__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structping__response__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#structping__response__t">ping_response_t</a></td></tr>
<tr class="memdesc:structping__response__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serial ping response format.  <a href="group__packet.html#structping__response__t">More...</a><br /></td></tr>
<tr class="separator:structping__response__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gad3df2b7984d0e28379a9a42feb27a873"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#gad3df2b7984d0e28379a9a42feb27a873">_command_packet_constants</a> { <br />
&#160;&#160;<b>kMinPacketBufferSize</b> = 32, 
<br />
&#160;&#160;<b>kDefaultMaxPacketSize</b> = kMinPacketBufferSize, 
<br />
&#160;&#160;<a class="el" href="group__packet.html#ggad3df2b7984d0e28379a9a42feb27a873ad0804f2c4956f6fbb33e072703e109cd">kMaxPropertyReturnValues</a>, 
<br />
&#160;&#160;<a class="el" href="group__packet.html#ggad3df2b7984d0e28379a9a42feb27a873a93eb60fa3641a4a11cbfb6be2b35772f">kMaxProgramOnceValues</a>, 
<br />
&#160;&#160;<a class="el" href="group__packet.html#ggad3df2b7984d0e28379a9a42feb27a873a565f0323e8b6751f6ca47a6d128f876b">kCommandTagCount</a> = 12
<br />
 }<tr class="memdesc:gad3df2b7984d0e28379a9a42feb27a873"><td class="mdescLeft">&#160;</td><td class="mdescRight">Command/Data Packet constants.  <a href="group__packet.html#gad3df2b7984d0e28379a9a42feb27a873">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:gad3df2b7984d0e28379a9a42feb27a873"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaefc521e8d8a1bb32e9278d8f92f1115e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#gaefc521e8d8a1bb32e9278d8f92f1115e">_command_tags</a> { <br />
&#160;&#160;<b>kCommandTag_GenericResponse</b> = 0xa0, 
<br />
&#160;&#160;<b>kCommandTag_FlashEraseAll</b> = 0x01, 
<br />
&#160;&#160;<b>kCommandTag_FlashEraseRegion</b> = 0x02, 
<br />
&#160;&#160;<b>kCommandTag_ReadMemory</b> = 0x03, 
<br />
&#160;&#160;<b>kCommandTag_ReadMemoryResponse</b> = 0xa3, 
<br />
&#160;&#160;<b>kCommandTag_WriteMemory</b> = 0x04, 
<br />
&#160;&#160;<b>kCommandTag_FillMemory</b> = 0x05, 
<br />
&#160;&#160;<b>kCommandTag_FlashSecurityDisable</b> = 0x06, 
<br />
&#160;&#160;<b>kCommandTag_GetProperty</b> = 0x07, 
<br />
&#160;&#160;<b>kCommandTag_GetPropertyResponse</b> = 0xa7, 
<br />
&#160;&#160;<b>kCommandTag_ReceiveSbFile</b> = 0x08, 
<br />
&#160;&#160;<b>kCommandTag_Execute</b> = 0x09, 
<br />
&#160;&#160;<b>kCommandTag_Call</b> = 0x0a, 
<br />
&#160;&#160;<b>kCommandTag_Reset</b> = 0x0b, 
<br />
&#160;&#160;<b>kCommandTag_SetProperty</b> = 0x0c, 
<br />
&#160;&#160;<b>kCommandTag_FlashEraseAllUnsecure</b> = 0x0d, 
<br />
&#160;&#160;<b>kCommandTag_FlashProgramOnce</b> = 0x0e, 
<br />
&#160;&#160;<b>kCommandTag_FlashReadOnce</b> = 0x0f, 
<br />
&#160;&#160;<b>kCommandTag_FlashReadOnceResponse</b> = 0xaf, 
<br />
&#160;&#160;<b>kCommandTag_FlashReadResource</b> = 0x10, 
<br />
&#160;&#160;<b>kCommandTag_FlashReadResourceResponse</b> = 0xb0, 
<br />
&#160;&#160;<b>kCommandTag_ConfigureQuadSpi</b> = 0x11, 
<br />
&#160;&#160;<b>kCommandTag_ReliableUpdate</b> = 0x12, 
<br />
&#160;&#160;<b>kCommandTag_ConfigureI2c</b> = 0xc1, 
<br />
&#160;&#160;<a class="el" href="group__packet.html#ggaefc521e8d8a1bb32e9278d8f92f1115eafc06db4bc9e0f280693de6fa621f42c1">kCommandTag_ConfigureSpi</a> = 0xc2, 
<br />
&#160;&#160;<a class="el" href="group__packet.html#ggaefc521e8d8a1bb32e9278d8f92f1115eaff91871aba6809647dde98f1ecd6463a">kCommandTag_ConfigureCan</a> = 0xc3, 
<br />
&#160;&#160;<a class="el" href="group__packet.html#ggaefc521e8d8a1bb32e9278d8f92f1115ea8d2b30d9f5604f9de6484a47664d8e25">kFirstCommandTag</a> = kCommandTag_FlashEraseAll, 
<br />
&#160;&#160;<a class="el" href="group__packet.html#ggaefc521e8d8a1bb32e9278d8f92f1115ead37204f9baf3f14abcefc9d8d82d88ea">kLastCommandTag</a> = kCommandTag_ReliableUpdate, 
<br />
&#160;&#160;<a class="el" href="group__packet.html#ggaefc521e8d8a1bb32e9278d8f92f1115ead61de9bf3e638999f380e8bf4b3f3d67">kResponseCommandHighNibbleMask</a>
<br />
 }<tr class="memdesc:gaefc521e8d8a1bb32e9278d8f92f1115e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Commands codes.  <a href="group__packet.html#gaefc521e8d8a1bb32e9278d8f92f1115e">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:gaefc521e8d8a1bb32e9278d8f92f1115e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf117778d1938807c8e0fffeb39c672df"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf117778d1938807c8e0fffeb39c672df"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#gaf117778d1938807c8e0fffeb39c672df">_command_packet_flags</a> { <br />
&#160;&#160;<b>kCommandFlag_None</b> = 0, 
<br />
&#160;&#160;<b>kCommandFlag_HasDataPhase</b> = 1
<br />
 }<tr class="memdesc:gaf117778d1938807c8e0fffeb39c672df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Command packet flags. <br /></td></tr>
</td></tr>
<tr class="separator:gaf117778d1938807c8e0fffeb39c672df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3b7b39313fa770abac072b813fbe2e60"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3b7b39313fa770abac072b813fbe2e60"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#ga3b7b39313fa770abac072b813fbe2e60">_flash_mem_id</a> { <br />
&#160;&#160;<b>kFlashMemInternal</b> = 0, 
<br />
&#160;&#160;<b>kFlashMemQuadSpi0</b> = 1, 
<br />
&#160;&#160;<b>kFlashMemExecuteOnly</b> = 0x10
<br />
 }<tr class="memdesc:ga3b7b39313fa770abac072b813fbe2e60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flash memory identifiers. <br /></td></tr>
</td></tr>
<tr class="separator:ga3b7b39313fa770abac072b813fbe2e60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga012b8bb615153c433c06843e404084b0"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#ga012b8bb615153c433c06843e404084b0">_serial_protocol_version_constants</a> { <br />
&#160;&#160;<b>kSerialProtocol_Version_Name</b> = 'P', 
<br />
&#160;&#160;<b>kSerialProtocol_Version_Major</b> = 1, 
<br />
&#160;&#160;<b>kSerialProtocol_Version_Minor</b> = 2, 
<br />
&#160;&#160;<b>kSerialProtocol_Version_Bugfix</b> = 0
<br />
 }<tr class="memdesc:ga012b8bb615153c433c06843e404084b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Version constants for serial framing protocol.  <a href="group__packet.html#ga012b8bb615153c433c06843e404084b0">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga012b8bb615153c433c06843e404084b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga62b42db1f8bbcdcd1a9e28220ee4627e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga62b42db1f8bbcdcd1a9e28220ee4627e"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#ga62b42db1f8bbcdcd1a9e28220ee4627e">_framing_packet_constants</a> { <br />
&#160;&#160;<b>kFramingPacketStartByte</b> = 0x5a, 
<br />
&#160;&#160;<b>kFramingPacketType_Ack</b> = 0xa1, 
<br />
&#160;&#160;<b>kFramingPacketType_Nak</b> = 0xa2, 
<br />
&#160;&#160;<b>kFramingPacketType_AckAbort</b> = 0xa3, 
<br />
&#160;&#160;<b>kFramingPacketType_Command</b> = 0xa4, 
<br />
&#160;&#160;<b>kFramingPacketType_Data</b> = 0xa5, 
<br />
&#160;&#160;<b>kFramingPacketType_Ping</b> = 0xa6, 
<br />
&#160;&#160;<b>kFramingPacketType_PingResponse</b> = 0xa7
<br />
 }<tr class="memdesc:ga62b42db1f8bbcdcd1a9e28220ee4627e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serial framing packet constants. <br /></td></tr>
</td></tr>
<tr class="separator:ga62b42db1f8bbcdcd1a9e28220ee4627e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2c66f7e3d2dacb6bf4f217f66e60ed00"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#ga2c66f7e3d2dacb6bf4f217f66e60ed00">_timing_constants</a> { <br />
&#160;&#160;<b>kHostMaxStartByteReadCount</b> = 2, 
<br />
&#160;&#160;<a class="el" href="group__packet.html#gga2c66f7e3d2dacb6bf4f217f66e60ed00ad24537294d9e3209afa42a1ee7081f4d">kDefaultByteReadTimeoutMs</a> = 10, 
<br />
&#160;&#160;<a class="el" href="group__packet.html#gga2c66f7e3d2dacb6bf4f217f66e60ed00a54286149a8cc228b9668daf91c21dfda">kCallbackBufferSize</a> = 64
<br />
 }<tr class="memdesc:ga2c66f7e3d2dacb6bf4f217f66e60ed00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timeout and other constants.  <a href="group__packet.html#ga2c66f7e3d2dacb6bf4f217f66e60ed00">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga2c66f7e3d2dacb6bf4f217f66e60ed00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac4680247a99210ad5bb3e2dfb634dfd3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac4680247a99210ad5bb3e2dfb634dfd3"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#gac4680247a99210ad5bb3e2dfb634dfd3">_serial_packet_constants</a> { <br />
&#160;&#160;<b>kIncomingPacketBufferSize</b> = kMinPacketBufferSize, 
<br />
&#160;&#160;<b>kOutgoingPacketBufferSize</b> = kMinPacketBufferSize
<br />
 }<tr class="memdesc:gac4680247a99210ad5bb3e2dfb634dfd3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Incoming data buffer allocation size. <br /></td></tr>
</td></tr>
<tr class="separator:gac4680247a99210ad5bb3e2dfb634dfd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2a8f13fe838021db8eeaf217ff17a9db"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2a8f13fe838021db8eeaf217ff17a9db"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#ga2a8f13fe838021db8eeaf217ff17a9db">_serial_packet_mode</a> { <br />
&#160;&#160;<b>kSerialModeCmd</b>, 
<br />
&#160;&#160;<b>kSerialModeAck</b>, 
<br />
&#160;&#160;<b>kSerialModeIdle</b>
<br />
 }<tr class="memdesc:ga2a8f13fe838021db8eeaf217ff17a9db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Packet state machine modes. <br /></td></tr>
</td></tr>
<tr class="separator:ga2a8f13fe838021db8eeaf217ff17a9db"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga3707af76120e3f97302536c0615f7add"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3707af76120e3f97302536c0615f7add"></a>
<a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#ga3707af76120e3f97302536c0615f7add">serial_packet_init</a> (const peripheral_descriptor_t *self)</td></tr>
<tr class="memdesc:ga3707af76120e3f97302536c0615f7add"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize component. <br /></td></tr>
<tr class="separator:ga3707af76120e3f97302536c0615f7add"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaec8900ed4ea5a3c981d66dab38516643"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#gaec8900ed4ea5a3c981d66dab38516643">serial_packet_read</a> (const peripheral_descriptor_t *self, uint8_t **packet, uint32_t *packetLength, <a class="el" href="group__peripheral.html#ga864fc0d1fbad74e37628f58051c8e3f7">packet_type_t</a> packetType)</td></tr>
<tr class="memdesc:gaec8900ed4ea5a3c981d66dab38516643"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read packet using serial framing.  <a href="#gaec8900ed4ea5a3c981d66dab38516643">More...</a><br /></td></tr>
<tr class="separator:gaec8900ed4ea5a3c981d66dab38516643"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7bcf4e62f6cbc2ab39c1666c1d5e752a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7bcf4e62f6cbc2ab39c1666c1d5e752a"></a>
<a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#ga7bcf4e62f6cbc2ab39c1666c1d5e752a">serial_packet_write</a> (const peripheral_descriptor_t *self, const uint8_t *packet, uint32_t byteCount, <a class="el" href="group__peripheral.html#ga864fc0d1fbad74e37628f58051c8e3f7">packet_type_t</a> packetType)</td></tr>
<tr class="memdesc:ga7bcf4e62f6cbc2ab39c1666c1d5e752a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write packet using serial framing. <br /></td></tr>
<tr class="separator:ga7bcf4e62f6cbc2ab39c1666c1d5e752a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1a60f41326f758000304976fd18d65a2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#ga1a60f41326f758000304976fd18d65a2">serial_packet_abort</a> (const peripheral_descriptor_t *self)</td></tr>
<tr class="memdesc:ga1a60f41326f758000304976fd18d65a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abort data phase.  <a href="#ga1a60f41326f758000304976fd18d65a2">More...</a><br /></td></tr>
<tr class="separator:ga1a60f41326f758000304976fd18d65a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga68e805a1882eb220f1ddd9a08c26030b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga68e805a1882eb220f1ddd9a08c26030b"></a>
<a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#ga68e805a1882eb220f1ddd9a08c26030b">serial_packet_finalize</a> (const peripheral_descriptor_t *self)</td></tr>
<tr class="memdesc:ga68e805a1882eb220f1ddd9a08c26030b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finalize. <br /></td></tr>
<tr class="separator:ga68e805a1882eb220f1ddd9a08c26030b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga598a287b57672291406cff9c728e03f9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga598a287b57672291406cff9c728e03f9"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#ga598a287b57672291406cff9c728e03f9">serial_packet_get_max_packet_size</a> (const peripheral_descriptor_t *self)</td></tr>
<tr class="memdesc:ga598a287b57672291406cff9c728e03f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get max packet size. <br /></td></tr>
<tr class="separator:ga598a287b57672291406cff9c728e03f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab0420ede400b98b1c21a7a7713b57633"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab0420ede400b98b1c21a7a7713b57633"></a>
<a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#gab0420ede400b98b1c21a7a7713b57633">serial_packet_send_sync</a> (uint8_t framingPacketType)</td></tr>
<tr class="memdesc:gab0420ede400b98b1c21a7a7713b57633"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a sync packet of the specified type. <br /></td></tr>
<tr class="separator:gab0420ede400b98b1c21a7a7713b57633"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabb5327f7eac946ecd5bf73b12565a502"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabb5327f7eac946ecd5bf73b12565a502"></a>
<a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#gabb5327f7eac946ecd5bf73b12565a502">serial_send_ping_response</a> (const peripheral_descriptor_t *peripheral)</td></tr>
<tr class="memdesc:gabb5327f7eac946ecd5bf73b12565a502"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a ping message back in response to a ping. <br /></td></tr>
<tr class="separator:gabb5327f7eac946ecd5bf73b12565a502"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga88407143978559f83d7115b86dc876be"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga88407143978559f83d7115b86dc876be"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#ga88407143978559f83d7115b86dc876be">serial_packet_queue_byte</a> (uint8_t byte)</td></tr>
<tr class="memdesc:ga88407143978559f83d7115b86dc876be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Queues a byte received by the active peripheral. <br /></td></tr>
<tr class="separator:ga88407143978559f83d7115b86dc876be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8d503e27e7d0c50c898f9c7c7aeba66c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8d503e27e7d0c50c898f9c7c7aeba66c"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>host_delay</b> (uint32_t milliseconds)</td></tr>
<tr class="separator:ga8d503e27e7d0c50c898f9c7c7aeba66c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga133c8f47194b9aec1935136a09ff0a69"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga133c8f47194b9aec1935136a09ff0a69"></a>
static <a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#ga133c8f47194b9aec1935136a09ff0a69">write_data</a> (const uint8_t *buffer, uint32_t byteCount)</td></tr>
<tr class="memdesc:ga133c8f47194b9aec1935136a09ff0a69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write buffer to peripheral until all bytes sent. <br /></td></tr>
<tr class="separator:ga133c8f47194b9aec1935136a09ff0a69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabeb657f00ab168f281a435ede2232e67"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabeb657f00ab168f281a435ede2232e67"></a>
static <a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#gabeb657f00ab168f281a435ede2232e67">read_data</a> (uint8_t *buffer, uint32_t byteCount, uint32_t timeoutMs)</td></tr>
<tr class="memdesc:gabeb657f00ab168f281a435ede2232e67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read from peripheral until specified number of bytes received. <br /></td></tr>
<tr class="separator:gabeb657f00ab168f281a435ede2232e67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab27002b66fbf490c4975ae374608303d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab27002b66fbf490c4975ae374608303d"></a>
static <a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#gab27002b66fbf490c4975ae374608303d">read_data_packet</a> (<a class="el" href="group__packet.html#structframing__data__packet__t">framing_data_packet_t</a> *packet, uint8_t *data, <a class="el" href="group__peripheral.html#ga864fc0d1fbad74e37628f58051c8e3f7">packet_type_t</a> packetType)</td></tr>
<tr class="memdesc:gab27002b66fbf490c4975ae374608303d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read from peripheral until entire data framing packet read. <br /></td></tr>
<tr class="separator:gab27002b66fbf490c4975ae374608303d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga30d2176721f80537c2a242c1886243d3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga30d2176721f80537c2a242c1886243d3"></a>
static <a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#ga30d2176721f80537c2a242c1886243d3">read_start_byte</a> (<a class="el" href="group__packet.html#structframing__header__t">framing_header_t</a> *header)</td></tr>
<tr class="memdesc:ga30d2176721f80537c2a242c1886243d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read from peripheral until start byte found. <br /></td></tr>
<tr class="separator:ga30d2176721f80537c2a242c1886243d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf00c2f837635865d4d1059aeca00d6f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf00c2f837635865d4d1059aeca00d6f2"></a>
static <a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#gaf00c2f837635865d4d1059aeca00d6f2">read_header</a> (<a class="el" href="group__packet.html#structframing__header__t">framing_header_t</a> *header)</td></tr>
<tr class="memdesc:gaf00c2f837635865d4d1059aeca00d6f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read from peripheral until packet header found. <br /></td></tr>
<tr class="separator:gaf00c2f837635865d4d1059aeca00d6f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9c52fd15222fe89c53e0f16809e99051"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9c52fd15222fe89c53e0f16809e99051"></a>
static <a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#ga9c52fd15222fe89c53e0f16809e99051">read_length</a> (<a class="el" href="group__packet.html#structframing__data__packet__t">framing_data_packet_t</a> *packet)</td></tr>
<tr class="memdesc:ga9c52fd15222fe89c53e0f16809e99051"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read from peripheral until packet length found. <br /></td></tr>
<tr class="separator:ga9c52fd15222fe89c53e0f16809e99051"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga78781b6dc665ce57e4ff3f5b1c9fc8f0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga78781b6dc665ce57e4ff3f5b1c9fc8f0"></a>
static <a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#ga78781b6dc665ce57e4ff3f5b1c9fc8f0">read_crc16</a> (<a class="el" href="group__packet.html#structframing__data__packet__t">framing_data_packet_t</a> *packet)</td></tr>
<tr class="memdesc:ga78781b6dc665ce57e4ff3f5b1c9fc8f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read from peripheral until crc16 is found. <br /></td></tr>
<tr class="separator:ga78781b6dc665ce57e4ff3f5b1c9fc8f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga34f308d460efca1f58e045f8ee3f09de"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga34f308d460efca1f58e045f8ee3f09de"></a>
static <a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#ga34f308d460efca1f58e045f8ee3f09de">wait_for_ack_packet</a> ()</td></tr>
<tr class="memdesc:ga34f308d460efca1f58e045f8ee3f09de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for an ACK, handling NAKs as needed. <br /></td></tr>
<tr class="separator:ga34f308d460efca1f58e045f8ee3f09de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4117d35f00b344603bb673f75832d9a0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4117d35f00b344603bb673f75832d9a0"></a>
static <a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#ga4117d35f00b344603bb673f75832d9a0">send_deferred_ack</a> ()</td></tr>
<tr class="memdesc:ga4117d35f00b344603bb673f75832d9a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send ACK if needed. <br /></td></tr>
<tr class="separator:ga4117d35f00b344603bb673f75832d9a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga218748fd1c0987305a058ad4f24bbe95"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga218748fd1c0987305a058ad4f24bbe95"></a>
static uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#ga218748fd1c0987305a058ad4f24bbe95">calculate_framing_crc16</a> (<a class="el" href="group__packet.html#structframing__data__packet__t">framing_data_packet_t</a> *packet, const uint8_t *data)</td></tr>
<tr class="memdesc:ga218748fd1c0987305a058ad4f24bbe95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate crc over framing data packet. <br /></td></tr>
<tr class="separator:ga218748fd1c0987305a058ad4f24bbe95"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:gaa42d9e43cb7237de7d78a2f691bc70ab"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa42d9e43cb7237de7d78a2f691bc70ab"></a>
const <a class="el" href="group__peripheral.html#structperipheral__packet__interface__t">peripheral_packet_interface_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>g_framingPacketInterface</b></td></tr>
<tr class="separator:gaa42d9e43cb7237de7d78a2f691bc70ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa42d9e43cb7237de7d78a2f691bc70ab"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="group__peripheral.html#structperipheral__packet__interface__t">peripheral_packet_interface_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>g_framingPacketInterface</b></td></tr>
<tr class="separator:gaa42d9e43cb7237de7d78a2f691bc70ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadd274c1ccd09e20f83594c95076d1218"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="group__packet.html#structping__response__t">ping_response_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#gadd274c1ccd09e20f83594c95076d1218">k_PingResponse</a></td></tr>
<tr class="memdesc:gadd274c1ccd09e20f83594c95076d1218"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ping response.  <a href="#gadd274c1ccd09e20f83594c95076d1218">More...</a><br /></td></tr>
<tr class="separator:gadd274c1ccd09e20f83594c95076d1218"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga625bcffc6e8f34be003eac627b5414dc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga625bcffc6e8f34be003eac627b5414dc"></a>
static <a class="el" href="group__packet.html#structserial__data__t">serial_data_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#ga625bcffc6e8f34be003eac627b5414dc">g_serialContext</a></td></tr>
<tr class="memdesc:ga625bcffc6e8f34be003eac627b5414dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Global context data. <br /></td></tr>
<tr class="separator:ga625bcffc6e8f34be003eac627b5414dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Command Packet formats</h2></td></tr>
<tr class="memitem:ga5fa03b6ce5af47fe0d405e97f24a7caf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5fa03b6ce5af47fe0d405e97f24a7caf"></a>
typedef <a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__packet.html#ga5fa03b6ce5af47fe0d405e97f24a7caf">call_function_t</a>) (uint32_t)</td></tr>
<tr class="memdesc:ga5fa03b6ce5af47fe0d405e97f24a7caf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute/Call command function pointer definition. <br /></td></tr>
<tr class="separator:ga5fa03b6ce5af47fe0d405e97f24a7caf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Usage Information</h2>
<p>Serial packetizer. </p>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="structcommand__packet__t" id="structcommand__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct command_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Command packet format. </p>
</div><table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a516b91715bda900c0f212b4fdb0b047b"></a>uint8_t</td>
<td class="fieldname">
commandTag</td>
<td class="fielddoc">
A command tag. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aa2585d779da0ab21273a8d92de9a0ebe"></a>uint8_t</td>
<td class="fieldname">
flags</td>
<td class="fielddoc">
Combination of packet flags. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aee6c95918278d47685463c39e4f2d4d4"></a>uint8_t</td>
<td class="fieldname">
parameterCount</td>
<td class="fielddoc">
Number of parameters that follow in buffer. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="acb7bc06bed6f6408d719334fc41698c7"></a>uint8_t</td>
<td class="fieldname">
reserved</td>
<td class="fielddoc">
Reserved, helpful for alignment, set to zero. </td></tr>
</table>

</div>
</div>
<a name="structflash__erase__all__packet__t" id="structflash__erase__all__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct flash_erase_all_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>FlashEraseAll packet format. </p>
</div><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Collaboration diagram for flash_erase_all_packet_t:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structflash__erase__all__packet__t__coll__graph.svg" width="196" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a97a645f59cb39cc8bd9f9a331a8a5e1c"></a><a class="el" href="group__packet.html#structcommand__packet__t">command_packet_t</a></td>
<td class="fieldname">
commandPacket</td>
<td class="fielddoc">
header </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a7c1c07009dcc624f8a93d31b5d8484f5"></a>uint32_t</td>
<td class="fieldname">
memoryId</td>
<td class="fielddoc">
Paremeter 0: Flash memory identifiers. </td></tr>
</table>

</div>
</div>
<a name="structflash__erase__region__packet__t" id="structflash__erase__region__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct flash_erase_region_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>FlashEraseRegion packet format. </p>
</div><div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-1-trigger" src="closed.png" alt="+"/> Collaboration diagram for flash_erase_region_packet_t:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structflash__erase__region__packet__t__coll__graph.svg" width="182" height="142"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aab2b8d46fc5660a5ab68496fe0d7d16b"></a>uint32_t</td>
<td class="fieldname">
byteCount</td>
<td class="fielddoc">
Parameter 1: number of bytes. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a97a645f59cb39cc8bd9f9a331a8a5e1c"></a><a class="el" href="group__packet.html#structcommand__packet__t">command_packet_t</a></td>
<td class="fieldname">
commandPacket</td>
<td class="fielddoc">
header </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a3a3fedf4660d77a61d25a4a70a2dfe3d"></a>uint32_t</td>
<td class="fieldname">
startAddress</td>
<td class="fielddoc">
Paremeter 0: start address. </td></tr>
</table>

</div>
</div>
<a name="structget__property__packet__t" id="structget__property__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct get_property_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>GetProperty packet format. </p>
</div><div id="dynsection-2" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-2-trigger" src="closed.png" alt="+"/> Collaboration diagram for get_property_packet_t:</div>
<div id="dynsection-2-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-2-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structget__property__packet__t__coll__graph.svg" width="190" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a97a645f59cb39cc8bd9f9a331a8a5e1c"></a><a class="el" href="group__packet.html#structcommand__packet__t">command_packet_t</a></td>
<td class="fieldname">
commandPacket</td>
<td class="fielddoc">
header </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a7c1c07009dcc624f8a93d31b5d8484f5"></a>uint32_t</td>
<td class="fieldname">
memoryId</td>
<td class="fielddoc">
Parameter 1: requested property for certain external memory. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ada0368dfa6069899ebaa53e039f93a48"></a>uint32_t</td>
<td class="fieldname">
propertyTag</td>
<td class="fielddoc">
Parameter 0: requested property tag. </td></tr>
</table>

</div>
</div>
<a name="structset__property__packet__t" id="structset__property__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct set_property_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>SetProperty packet format. </p>
</div><div id="dynsection-3" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-3-trigger" src="closed.png" alt="+"/> Collaboration diagram for set_property_packet_t:</div>
<div id="dynsection-3-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-3-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structset__property__packet__t__coll__graph.svg" width="190" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a97a645f59cb39cc8bd9f9a331a8a5e1c"></a><a class="el" href="group__packet.html#structcommand__packet__t">command_packet_t</a></td>
<td class="fieldname">
commandPacket</td>
<td class="fielddoc">
header </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ada0368dfa6069899ebaa53e039f93a48"></a>uint32_t</td>
<td class="fieldname">
propertyTag</td>
<td class="fielddoc">
Paremeter 0: property tag. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a67fb59c6b9e3ea69f3b6c4d758fba9fe"></a>uint32_t</td>
<td class="fieldname">
propertyValue</td>
<td class="fielddoc">
Parameter 1: value to set. </td></tr>
</table>

</div>
</div>
<a name="structreceive__sb__file__packet__t" id="structreceive__sb__file__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct receive_sb_file_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>ReceiveSbFile packet format. </p>
</div><div id="dynsection-4" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-4-trigger" src="closed.png" alt="+"/> Collaboration diagram for receive_sb_file_packet_t:</div>
<div id="dynsection-4-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-4-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structreceive__sb__file__packet__t__coll__graph.svg" width="195" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aab2b8d46fc5660a5ab68496fe0d7d16b"></a>uint32_t</td>
<td class="fieldname">
byteCount</td>
<td class="fielddoc">
Parameter 0: Number of bytes to receive. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a97a645f59cb39cc8bd9f9a331a8a5e1c"></a><a class="el" href="group__packet.html#structcommand__packet__t">command_packet_t</a></td>
<td class="fieldname">
commandPacket</td>
<td class="fielddoc">
header </td></tr>
</table>

</div>
</div>
<a name="structwrite__memory__packet__t" id="structwrite__memory__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct write_memory_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>WriteMemory packet format. </p>
</div><div id="dynsection-5" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-5-trigger" src="closed.png" alt="+"/> Collaboration diagram for write_memory_packet_t:</div>
<div id="dynsection-5-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-5-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structwrite__memory__packet__t__coll__graph.svg" width="194" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aab2b8d46fc5660a5ab68496fe0d7d16b"></a>uint32_t</td>
<td class="fieldname">
byteCount</td>
<td class="fielddoc">
Parameter 1: Number of bytes to write. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a97a645f59cb39cc8bd9f9a331a8a5e1c"></a><a class="el" href="group__packet.html#structcommand__packet__t">command_packet_t</a></td>
<td class="fieldname">
commandPacket</td>
<td class="fielddoc">
header </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a3a3fedf4660d77a61d25a4a70a2dfe3d"></a>uint32_t</td>
<td class="fieldname">
startAddress</td>
<td class="fielddoc">
Paremeter 0: Start address of memory to write to. </td></tr>
</table>

</div>
</div>
<a name="structread__memory__packet__t" id="structread__memory__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct read_memory_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>ReadMemory packet format. </p>
</div><div id="dynsection-6" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-6-trigger" src="closed.png" alt="+"/> Collaboration diagram for read_memory_packet_t:</div>
<div id="dynsection-6-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-6-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structread__memory__packet__t__coll__graph.svg" width="194" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aab2b8d46fc5660a5ab68496fe0d7d16b"></a>uint32_t</td>
<td class="fieldname">
byteCount</td>
<td class="fielddoc">
Parameter 1: Number of bytes to read. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a97a645f59cb39cc8bd9f9a331a8a5e1c"></a><a class="el" href="group__packet.html#structcommand__packet__t">command_packet_t</a></td>
<td class="fieldname">
commandPacket</td>
<td class="fielddoc">
header </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a3a3fedf4660d77a61d25a4a70a2dfe3d"></a>uint32_t</td>
<td class="fieldname">
startAddress</td>
<td class="fielddoc">
Paremeter 0: Start address of memory to read from. </td></tr>
</table>

</div>
</div>
<a name="structfill__memory__packet__t" id="structfill__memory__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct fill_memory_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>FillMemory packet format. </p>
</div><div id="dynsection-7" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-7-trigger" src="closed.png" alt="+"/> Collaboration diagram for fill_memory_packet_t:</div>
<div id="dynsection-7-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-7-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structfill__memory__packet__t__coll__graph.svg" width="187" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aab2b8d46fc5660a5ab68496fe0d7d16b"></a>uint32_t</td>
<td class="fieldname">
byteCount</td>
<td class="fielddoc">
Parameter 1: number of bytes. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a97a645f59cb39cc8bd9f9a331a8a5e1c"></a><a class="el" href="group__packet.html#structcommand__packet__t">command_packet_t</a></td>
<td class="fieldname">
commandPacket</td>
<td class="fielddoc">
header </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a15ce01c93a3b2b257a127a72caccc5e7"></a>uint32_t</td>
<td class="fieldname">
patternWord</td>
<td class="fielddoc">
Parameter 1: pattern word. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a3a3fedf4660d77a61d25a4a70a2dfe3d"></a>uint32_t</td>
<td class="fieldname">
startAddress</td>
<td class="fielddoc">
Paremeter 0: start address. </td></tr>
</table>

</div>
</div>
<a name="structexecute__call__packet__t" id="structexecute__call__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct execute_call_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Execute/Call packet format. </p>
</div><div id="dynsection-8" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-8-trigger" src="closed.png" alt="+"/> Collaboration diagram for execute_call_packet_t:</div>
<div id="dynsection-8-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-8-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structexecute__call__packet__t__coll__graph.svg" width="190" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aed4f1bcef0f60c8a084b6aea59bf3973"></a>uint32_t</td>
<td class="fieldname">
argumentWord</td>
<td class="fielddoc">
Parameter 1: argument. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aaf67777c48baca677ed7d87b423d1f03"></a>uint32_t</td>
<td class="fieldname">
callAddress</td>
<td class="fielddoc">
Paremeter 0: function address. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a97a645f59cb39cc8bd9f9a331a8a5e1c"></a><a class="el" href="group__packet.html#structcommand__packet__t">command_packet_t</a></td>
<td class="fieldname">
commandPacket</td>
<td class="fielddoc">
header </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a098ef7bcfe72464d77546af8b51763d5"></a>uint32_t</td>
<td class="fieldname">
stackpointer</td>
<td class="fielddoc">
Parameter 2: stack pointer. </td></tr>
</table>

</div>
</div>
<a name="structflash__security__disable__packet__t" id="structflash__security__disable__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct flash_security_disable_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>FlashSecurityDisable packet format. </p>
</div><div id="dynsection-9" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-9-trigger" src="closed.png" alt="+"/> Collaboration diagram for flash_security_disable_packet_t:</div>
<div id="dynsection-9-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-9-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structflash__security__disable__packet__t__coll__graph.svg" width="190" height="142"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a97a645f59cb39cc8bd9f9a331a8a5e1c"></a><a class="el" href="group__packet.html#structcommand__packet__t">command_packet_t</a></td>
<td class="fieldname">
commandPacket</td>
<td class="fielddoc">
header </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a50102dbde11ba804276a6ebc70420471"></a>uint32_t</td>
<td class="fieldname">
keyHigh</td>
<td class="fielddoc">
Parameter 1: key bytes 4-7. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a0d3eed7035b9c3ee84ac13f179cb22bd"></a>uint32_t</td>
<td class="fieldname">
keyLow</td>
<td class="fielddoc">
Paremeter 0: key bytes 0-3. </td></tr>
</table>

</div>
</div>
<a name="structflash__program__once__packet__t" id="structflash__program__once__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct flash_program_once_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>FlashProgramOnce packet format. </p>
</div><div id="dynsection-10" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-10-trigger" src="closed.png" alt="+"/> Collaboration diagram for flash_program_once_packet_t:</div>
<div id="dynsection-10-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-10-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structflash__program__once__packet__t__coll__graph.svg" width="183" height="142"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aab2b8d46fc5660a5ab68496fe0d7d16b"></a>uint32_t</td>
<td class="fieldname">
byteCount</td>
<td class="fielddoc">
Parameter 1: number of bytes. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a97a645f59cb39cc8bd9f9a331a8a5e1c"></a><a class="el" href="group__packet.html#structcommand__packet__t">command_packet_t</a></td>
<td class="fieldname">
commandPacket</td>
<td class="fielddoc">
header </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ad46e24dfc5f73f382b496d79176131e5"></a>uint32_t</td>
<td class="fieldname">
data[<a class="el" href="group__packet.html#ggad3df2b7984d0e28379a9a42feb27a873a93eb60fa3641a4a11cbfb6be2b35772f">kMaxProgramOnceValues</a>]</td>
<td class="fielddoc">
Parameter 2: data to be programmed. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aafd95f8c7a99b9189ede7cdf0871ebe8"></a>uint32_t</td>
<td class="fieldname">
index</td>
<td class="fielddoc">
Parameter 0: index of pragram once field. </td></tr>
</table>

</div>
</div>
<a name="structflash__read__once__packet__t" id="structflash__read__once__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct flash_read_once_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>FlashReadOnce packet format. </p>
</div><div id="dynsection-11" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-11-trigger" src="closed.png" alt="+"/> Collaboration diagram for flash_read_once_packet_t:</div>
<div id="dynsection-11-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-11-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structflash__read__once__packet__t__coll__graph.svg" width="200" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aab2b8d46fc5660a5ab68496fe0d7d16b"></a>uint32_t</td>
<td class="fieldname">
byteCount</td>
<td class="fielddoc">
Parameter 1: number of bytes. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a97a645f59cb39cc8bd9f9a331a8a5e1c"></a><a class="el" href="group__packet.html#structcommand__packet__t">command_packet_t</a></td>
<td class="fieldname">
commandPacket</td>
<td class="fielddoc">
header </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aafd95f8c7a99b9189ede7cdf0871ebe8"></a>uint32_t</td>
<td class="fieldname">
index</td>
<td class="fielddoc">
Parameter 0: index of pragram once field to be read. </td></tr>
</table>

</div>
</div>
<a name="structflash__read__resource__packet__t" id="structflash__read__resource__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct flash_read_resource_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>FlashReadResource packet format. </p>
</div><div id="dynsection-12" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-12-trigger" src="closed.png" alt="+"/> Collaboration diagram for flash_read_resource_packet_t:</div>
<div id="dynsection-12-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-12-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structflash__read__resource__packet__t__coll__graph.svg" width="183" height="142"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aab2b8d46fc5660a5ab68496fe0d7d16b"></a>uint32_t</td>
<td class="fieldname">
byteCount</td>
<td class="fielddoc">
Parameter 1: number of bytes. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a97a645f59cb39cc8bd9f9a331a8a5e1c"></a><a class="el" href="group__packet.html#structcommand__packet__t">command_packet_t</a></td>
<td class="fieldname">
commandPacket</td>
<td class="fielddoc">
header </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a6ffaa59931174a2a4c4bfa1b1a2d7b1e"></a>uint32_t</td>
<td class="fieldname">
option</td>
<td class="fielddoc">
Parameter 2: option for flash read resource command. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a3a3fedf4660d77a61d25a4a70a2dfe3d"></a>uint32_t</td>
<td class="fieldname">
startAddress</td>
<td class="fielddoc">
Parameter 0: start address. </td></tr>
</table>

</div>
</div>
<a name="structconfigure__quadspi__packet__t" id="structconfigure__quadspi__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct configure_quadspi_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>ConfigureQuadSpi packet format. </p>
</div><div id="dynsection-13" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-13-trigger" src="closed.png" alt="+"/> Collaboration diagram for configure_quadspi_packet_t:</div>
<div id="dynsection-13-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-13-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structconfigure__quadspi__packet__t__coll__graph.svg" width="206" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a97a645f59cb39cc8bd9f9a331a8a5e1c"></a><a class="el" href="group__packet.html#structcommand__packet__t">command_packet_t</a></td>
<td class="fieldname">
commandPacket</td>
<td class="fielddoc">
header </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a2153740048e0c3108036b0f7e89e3a3e"></a>uint32_t</td>
<td class="fieldname">
configBlockAddress</td>
<td class="fielddoc">
Parameter 1: address of config block to use. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a25ce6b6b83200841deefcb9454ba5b85"></a>uint32_t</td>
<td class="fieldname">
flashMemId</td>
<td class="fielddoc">
Parameter 0: quadspi ID. </td></tr>
</table>

</div>
</div>
<a name="structreliable__update__packet__t" id="structreliable__update__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct reliable_update_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>ReliableUpdate packet format. </p>
</div><div id="dynsection-14" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-14-trigger" src="closed.png" alt="+"/> Collaboration diagram for reliable_update_packet_t:</div>
<div id="dynsection-14-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-14-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structreliable__update__packet__t__coll__graph.svg" width="198" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ac0d31ca829f934cccd89f8054e02773e"></a>uint32_t</td>
<td class="fieldname">
address</td>
<td class="fielddoc">
<p>Parameter 0: For software implementation , this is backup app start address; Parameter 0: For hardware implementation , this is swap indicator address; </p>
</td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a97a645f59cb39cc8bd9f9a331a8a5e1c"></a><a class="el" href="group__packet.html#structcommand__packet__t">command_packet_t</a></td>
<td class="fieldname">
commandPacket</td>
<td class="fielddoc">
header </td></tr>
</table>

</div>
</div>
<a name="structconfigure__i2c__packet__t" id="structconfigure__i2c__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct configure_i2c_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>ConfigureI2c packet format. </p>
</div><div id="dynsection-15" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-15-trigger" src="closed.png" alt="+"/> Collaboration diagram for configure_i2c_packet_t:</div>
<div id="dynsection-15-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-15-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structconfigure__i2c__packet__t__coll__graph.svg" width="191" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ac0d31ca829f934cccd89f8054e02773e"></a>uint32_t</td>
<td class="fieldname">
address</td>
<td class="fielddoc">
Parameter 0: address. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a97a645f59cb39cc8bd9f9a331a8a5e1c"></a><a class="el" href="group__packet.html#structcommand__packet__t">command_packet_t</a></td>
<td class="fieldname">
commandPacket</td>
<td class="fielddoc">
header </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a220859a8b5da0232739a11cbe7f79fc5"></a>uint32_t</td>
<td class="fieldname">
speed</td>
<td class="fielddoc">
Parameter 1: speed. </td></tr>
</table>

</div>
</div>
<a name="structconfigure__spi__packet__t" id="structconfigure__spi__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct configure_spi_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>ConfigureSpi packet format. </p>
</div><div id="dynsection-16" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-16-trigger" src="closed.png" alt="+"/> Collaboration diagram for configure_spi_packet_t:</div>
<div id="dynsection-16-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-16-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structconfigure__spi__packet__t__coll__graph.svg" width="191" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a97a645f59cb39cc8bd9f9a331a8a5e1c"></a><a class="el" href="group__packet.html#structcommand__packet__t">command_packet_t</a></td>
<td class="fieldname">
commandPacket</td>
<td class="fielddoc">
header </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a2148ffb99828aeaced6a5655502434ac"></a>uint32_t</td>
<td class="fieldname">
direction</td>
<td class="fielddoc">
Parameter 3: directionpolarity. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a589421fe5ccbd2621e7f17ea192701af"></a>uint32_t</td>
<td class="fieldname">
phase</td>
<td class="fielddoc">
Parameter 2: phase. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a89635a4ddd1c0f43e827bed14908c9d1"></a>uint32_t</td>
<td class="fieldname">
polarity</td>
<td class="fielddoc">
Parameter 1: polarity. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="adf6048612c63a339dccec3c045b05912"></a>uint32_t</td>
<td class="fieldname">
speedKhz</td>
<td class="fielddoc">
Parameter 0: spped Khz. </td></tr>
</table>

</div>
</div>
<a name="structconfigure__can__packet__t" id="structconfigure__can__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct configure_can_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>ConfigureCan packet format. </p>
</div><div id="dynsection-17" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-17-trigger" src="closed.png" alt="+"/> Collaboration diagram for configure_can_packet_t:</div>
<div id="dynsection-17-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-17-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structconfigure__can__packet__t__coll__graph.svg" width="194" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a97a645f59cb39cc8bd9f9a331a8a5e1c"></a><a class="el" href="group__packet.html#structcommand__packet__t">command_packet_t</a></td>
<td class="fieldname">
commandPacket</td>
<td class="fielddoc">
header </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a56b38074cabe20ed9d767da2e04e8fed"></a>uint32_t</td>
<td class="fieldname">
rxid</td>
<td class="fielddoc">
Parameter 2: rxid. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a220859a8b5da0232739a11cbe7f79fc5"></a>uint32_t</td>
<td class="fieldname">
speed</td>
<td class="fielddoc">
Parameter 0: spped index. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ae9541134639576318c3786ab2e730606"></a>uint32_t</td>
<td class="fieldname">
txid</td>
<td class="fielddoc">
Parameter 1: txid. </td></tr>
</table>

</div>
</div>
<a name="structgeneric__response__packet__t" id="structgeneric__response__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct generic_response_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Generic response packet format. </p>
</div><div id="dynsection-18" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-18-trigger" src="closed.png" alt="+"/> Collaboration diagram for generic_response_packet_t:</div>
<div id="dynsection-18-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-18-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structgeneric__response__packet__t__coll__graph.svg" width="204" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a97a645f59cb39cc8bd9f9a331a8a5e1c"></a><a class="el" href="group__packet.html#structcommand__packet__t">command_packet_t</a></td>
<td class="fieldname">
commandPacket</td>
<td class="fielddoc">
header </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a831215ac72c0395d0dbc9afdd66bec8a"></a>uint32_t</td>
<td class="fieldname">
commandTag</td>
<td class="fielddoc">
parameter 1 </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ade20423e91627f07e610924cb0081623"></a>uint32_t</td>
<td class="fieldname">
status</td>
<td class="fielddoc">
parameter 0 </td></tr>
</table>

</div>
</div>
<a name="structget__property__response__packet__t" id="structget__property__response__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct get_property_response_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Get Property response packet format. </p>
</div><div id="dynsection-19" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-19-trigger" src="closed.png" alt="+"/> Collaboration diagram for get_property_response_packet_t:</div>
<div id="dynsection-19-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-19-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structget__property__response__packet__t__coll__graph.svg" width="191" height="142"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a97a645f59cb39cc8bd9f9a331a8a5e1c"></a><a class="el" href="group__packet.html#structcommand__packet__t">command_packet_t</a></td>
<td class="fieldname">
commandPacket</td>
<td class="fielddoc">
header </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a77108e3d480171ac0df58b25d9c5f27c"></a>uint32_t</td>
<td class="fieldname">
propertyValue[<a class="el" href="group__packet.html#ggad3df2b7984d0e28379a9a42feb27a873ad0804f2c4956f6fbb33e072703e109cd">kMaxPropertyReturnValues</a>]</td>
<td class="fielddoc">
up to 6 other parameters </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ade20423e91627f07e610924cb0081623"></a>uint32_t</td>
<td class="fieldname">
status</td>
<td class="fielddoc">
parameter 0 </td></tr>
</table>

</div>
</div>
<a name="structread__memory__response__packet__t" id="structread__memory__response__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct read_memory_response_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Read Memory response packet format. </p>
</div><div id="dynsection-20" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-20-trigger" src="closed.png" alt="+"/> Collaboration diagram for read_memory_response_packet_t:</div>
<div id="dynsection-20-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-20-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structread__memory__response__packet__t__coll__graph.svg" width="195" height="142"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a97a645f59cb39cc8bd9f9a331a8a5e1c"></a><a class="el" href="group__packet.html#structcommand__packet__t">command_packet_t</a></td>
<td class="fieldname">
commandPacket</td>
<td class="fielddoc">
header </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a1594957f2d668c138464205e791c4c36"></a>uint32_t</td>
<td class="fieldname">
dataByteCount</td>
<td class="fielddoc">
parameter 1 </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ade20423e91627f07e610924cb0081623"></a>uint32_t</td>
<td class="fieldname">
status</td>
<td class="fielddoc">
parameter 0 </td></tr>
</table>

</div>
</div>
<a name="structflash__read__once__response__packet__t" id="structflash__read__once__response__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct flash_read_once_response_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Flash Read Once response packet format. </p>
</div><div id="dynsection-21" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-21-trigger" src="closed.png" alt="+"/> Collaboration diagram for flash_read_once_response_packet_t:</div>
<div id="dynsection-21-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-21-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structflash__read__once__response__packet__t__coll__graph.svg" width="202" height="142"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="aab2b8d46fc5660a5ab68496fe0d7d16b"></a>uint32_t</td>
<td class="fieldname">
byteCount</td>
<td class="fielddoc">
parameter 1 </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a97a645f59cb39cc8bd9f9a331a8a5e1c"></a><a class="el" href="group__packet.html#structcommand__packet__t">command_packet_t</a></td>
<td class="fieldname">
commandPacket</td>
<td class="fielddoc">
header </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ad46e24dfc5f73f382b496d79176131e5"></a>uint32_t</td>
<td class="fieldname">
data[<a class="el" href="group__packet.html#ggad3df2b7984d0e28379a9a42feb27a873a93eb60fa3641a4a11cbfb6be2b35772f">kMaxProgramOnceValues</a>]</td>
<td class="fielddoc">
parameter 2 </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ade20423e91627f07e610924cb0081623"></a>uint32_t</td>
<td class="fieldname">
status</td>
<td class="fielddoc">
parameter 0 </td></tr>
</table>

</div>
</div>
<a name="structflash__read__resource__response__packet__t" id="structflash__read__resource__response__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct flash_read_resource_response_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Flash Read Resource response packet format. </p>
</div><div id="dynsection-22" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-22-trigger" src="closed.png" alt="+"/> Collaboration diagram for flash_read_resource_response_packet_t:</div>
<div id="dynsection-22-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-22-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structflash__read__resource__response__packet__t__coll__graph.svg" width="183" height="142"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a97a645f59cb39cc8bd9f9a331a8a5e1c"></a><a class="el" href="group__packet.html#structcommand__packet__t">command_packet_t</a></td>
<td class="fieldname">
commandPacket</td>
<td class="fielddoc">
header </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a1594957f2d668c138464205e791c4c36"></a>uint32_t</td>
<td class="fieldname">
dataByteCount</td>
<td class="fielddoc">
parameter 1 </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ade20423e91627f07e610924cb0081623"></a>uint32_t</td>
<td class="fieldname">
status</td>
<td class="fielddoc">
parameter 0 </td></tr>
</table>

</div>
</div>
<a name="structframing__header__t" id="structframing__header__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct framing_header_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Serial framing header. </p>
</div><table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a561dfa675631ea8122a078d1243325c4"></a>uint8_t</td>
<td class="fieldname">
packetType</td>
<td class="fielddoc">
Framing packet type. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ab4c033cfd9a05c4c5c8688fcb22f88bc"></a>uint8_t</td>
<td class="fieldname">
startByte</td>
<td class="fielddoc">
#kFramingPacketStartByte </td></tr>
</table>

</div>
</div>
<a name="structframing__sync__packet__t" id="structframing__sync__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct framing_sync_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Serial framing sync packet. </p>
</div><div id="dynsection-23" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-23-trigger" src="closed.png" alt="+"/> Collaboration diagram for framing_sync_packet_t:</div>
<div id="dynsection-23-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-23-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structframing__sync__packet__t__coll__graph.svg" width="167" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="af0714a84f43a75ea5ed6219503f35df8"></a><a class="el" href="group__packet.html#structframing__header__t">framing_header_t</a></td>
<td class="fieldname">
header</td>
<td class="fielddoc">
Framing packet header. </td></tr>
</table>

</div>
</div>
<a name="structframing__data__packet__t" id="structframing__data__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct framing_data_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Serial framing data packet. </p>
</div><div id="dynsection-24" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-24-trigger" src="closed.png" alt="+"/> Collaboration diagram for framing_data_packet_t:</div>
<div id="dynsection-24-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-24-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structframing__data__packet__t__coll__graph.svg" width="164" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a4438e0df9f58b1861feb3fc659f52534"></a>uint16_t</td>
<td class="fieldname">
crc16</td>
<td class="fielddoc">
CRC-16 of data packet header and data. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="af0714a84f43a75ea5ed6219503f35df8"></a><a class="el" href="group__packet.html#structframing__header__t">framing_header_t</a></td>
<td class="fieldname">
header</td>
<td class="fielddoc">
Framing packet header. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a1892eba2086d12ac2b09005aeb09ea3b"></a>uint16_t</td>
<td class="fieldname">
length</td>
<td class="fielddoc">
Number of data bytes that follow. </td></tr>
</table>

</div>
</div>
<a name="structserial__framing__packet__t" id="structserial__framing__packet__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct serial_framing_packet_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Framing packet with data area. </p>
</div><div id="dynsection-25" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-25-trigger" src="closed.png" alt="+"/> Collaboration diagram for serial_framing_packet_t:</div>
<div id="dynsection-25-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-25-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structserial__framing__packet__t__coll__graph.svg" width="170" height="216"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a7a29f09589feb930ce1a84b4de3b7277"></a>uint8_t</td>
<td class="fieldname">
data[kOutgoingPacketBufferSize]</td>
<td class="fielddoc">
Payload. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a524a284dbe72b32a1aef8e6c6c757a75"></a><a class="el" href="group__packet.html#structframing__data__packet__t">framing_data_packet_t</a></td>
<td class="fieldname">
dataPacket</td>
<td class="fielddoc">
Packet header. </td></tr>
</table>

</div>
</div>
<a name="structserial__data__t" id="structserial__data__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct serial_data_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Format of global context data. </p>
</div><div id="dynsection-26" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-26-trigger" src="closed.png" alt="+"/> Collaboration diagram for serial_data_t:</div>
<div id="dynsection-26-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-26-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structserial__data__t__coll__graph.svg" width="179" height="306"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a65676b604781a2626dae0b43c714b81a"></a>uint8_t</td>
<td class="fieldname">
callbackBuffer[<a class="el" href="group__packet.html#gga2c66f7e3d2dacb6bf4f217f66e60ed00a54286149a8cc228b9668daf91c21dfda">kCallbackBufferSize</a>]</td>
<td class="fielddoc">
Buffer for incoming data from the byte callback. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a92ca89deeb2d4578b7bd7e48c89cec05"></a>uint8_t</td>
<td class="fieldname">
data[kIncomingPacketBufferSize]</td>
<td class="fielddoc">
Buffer for incomming packet data payload, must be uint32_t aligned. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ae9b2f6d232d100f9b461c7df295be3f7"></a><a class="el" href="group__packet.html#structserial__framing__packet__t">serial_framing_packet_t</a></td>
<td class="fieldname">
framingPacket</td>
<td class="fielddoc">
Buffer for outgoing packet. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a3496667f52b5f8cd8e34381108268e0a"></a>bool</td>
<td class="fieldname">
isAckAbortNeeded</td>
<td class="fielddoc">
True if next ACK should be ACK Abort. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a830a82b5d823e4db64c763378be77335"></a>bool</td>
<td class="fieldname">
isAckNeeded</td>
<td class="fielddoc">
True if need to send ACK to previously received packet. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a394c0a96243ccf6fa1a0e19fe956cd33"></a>bool</td>
<td class="fieldname">
isBackToBackWrite</td>
<td class="fielddoc">
True if executing back-to-back write. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ad10650a4450582b790561e4435212b23"></a>uint32_t</td>
<td class="fieldname">
readOffset</td>
<td class="fielddoc">
The offset into the buffer that the app has read out. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a0b5561925426675ee11f2354f6c642a7"></a>volatile uint32_t</td>
<td class="fieldname">
writeOffset</td>
<td class="fielddoc">
The offset into the buffer that the ISR will queue data into. </td></tr>
</table>

</div>
</div>
<a name="structping__response__t" id="structping__response__t"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct ping_response_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Serial ping response format. </p>
<p>This is the format of the response to a Ping packet. </p>
</div><div id="dynsection-27" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-27-trigger" src="closed.png" alt="+"/> Collaboration diagram for ping_response_t:</div>
<div id="dynsection-27-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-27-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structping__response__t__coll__graph.svg" width="142" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="fieldtable">
<tr><th colspan="3">Data Fields</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a4438e0df9f58b1861feb3fc659f52534"></a>uint16_t</td>
<td class="fieldname">
crc16</td>
<td class="fielddoc">
CRC-16 of other fields. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="af86bc430f5b8c737809e0e3baae4ecea"></a>uint16_t</td>
<td class="fieldname">
options</td>
<td class="fielddoc">
Serial framing protocol options bitfield. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ab5805c535f737e9a32670f5a45b50add"></a><a class="el" href="group__bl__core.html#unionstandard__version__t">standard_version_t</a></td>
<td class="fieldname">
version</td>
<td class="fielddoc">
Serial framing protocol version. </td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="gad3df2b7984d0e28379a9a42feb27a873"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__packet.html#gad3df2b7984d0e28379a9a42feb27a873">_command_packet_constants</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Command/Data Packet constants. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ggad3df2b7984d0e28379a9a42feb27a873ad0804f2c4956f6fbb33e072703e109cd"></a>kMaxPropertyReturnValues&#160;</td><td class="fielddoc">
<p>Max number of words a property can return One word is header, one parameter reserved for status </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggad3df2b7984d0e28379a9a42feb27a873a93eb60fa3641a4a11cbfb6be2b35772f"></a>kMaxProgramOnceValues&#160;</td><td class="fielddoc">
<p>Max number of words a program once command can write </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggad3df2b7984d0e28379a9a42feb27a873a565f0323e8b6751f6ca47a6d128f876b"></a>kCommandTagCount&#160;</td><td class="fielddoc">
<p>One word is header, two parameters reserved for index and byteCount. </p>
<p>Number of non-response command tags </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="gaefc521e8d8a1bb32e9278d8f92f1115e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__packet.html#gaefc521e8d8a1bb32e9278d8f92f1115e">_command_tags</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Commands codes. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ggaefc521e8d8a1bb32e9278d8f92f1115eafc06db4bc9e0f280693de6fa621f42c1"></a>kCommandTag_ConfigureSpi&#160;</td><td class="fielddoc">
<p>Reserved command tag for Bus Pal. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaefc521e8d8a1bb32e9278d8f92f1115eaff91871aba6809647dde98f1ecd6463a"></a>kCommandTag_ConfigureCan&#160;</td><td class="fielddoc">
<p>Reserved command tag for Bus Pal. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaefc521e8d8a1bb32e9278d8f92f1115ea8d2b30d9f5604f9de6484a47664d8e25"></a>kFirstCommandTag&#160;</td><td class="fielddoc">
<p>Reserved command tag for Bus Pal. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaefc521e8d8a1bb32e9278d8f92f1115ead37204f9baf3f14abcefc9d8d82d88ea"></a>kLastCommandTag&#160;</td><td class="fielddoc">
<p>Maximum linearly incrementing command tag value, excluding the response commands and bus pal commands. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ggaefc521e8d8a1bb32e9278d8f92f1115ead61de9bf3e638999f380e8bf4b3f3d67"></a>kResponseCommandHighNibbleMask&#160;</td><td class="fielddoc">
<p>Mask for the high nibble of a command tag that identifies it as a response command. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga012b8bb615153c433c06843e404084b0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__packet.html#ga012b8bb615153c433c06843e404084b0">_serial_protocol_version_constants</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Version constants for serial framing protocol. </p>
<dl class="section note"><dt>Note</dt><dd>Recalculate crc16 in k_PingResponse if these values change. </dd></dl>

</div>
</div>
<a class="anchor" id="ga2c66f7e3d2dacb6bf4f217f66e60ed00"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__packet.html#ga2c66f7e3d2dacb6bf4f217f66e60ed00">_timing_constants</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Timeout and other constants. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="gga2c66f7e3d2dacb6bf4f217f66e60ed00ad24537294d9e3209afa42a1ee7081f4d"></a>kDefaultByteReadTimeoutMs&#160;</td><td class="fielddoc">
<p>Default value for receiving 1 byte timeout. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="gga2c66f7e3d2dacb6bf4f217f66e60ed00a54286149a8cc228b9668daf91c21dfda"></a>kCallbackBufferSize&#160;</td><td class="fielddoc">
<p>Size for callback buffer, Must be power of 2 for easy wrap. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga1a60f41326f758000304976fd18d65a2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void serial_packet_abort </td>
          <td>(</td>
          <td class="paramtype">const peripheral_descriptor_t *&#160;</td>
          <td class="paramname"><em>self</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Abort data phase. </p>
<p>Respond to next host data packet with AckAbort instead of Ack (i.e. receiver data phase abort). </p>

</div>
</div>
<a class="anchor" id="gaec8900ed4ea5a3c981d66dab38516643"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__ksdk__common.html#gaaabdaf7ee58ca7269bd4bf24efcde092">status_t</a> serial_packet_read </td>
          <td>(</td>
          <td class="paramtype">const peripheral_descriptor_t *&#160;</td>
          <td class="paramname"><em>self</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t **&#160;</td>
          <td class="paramname"><em>packet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>packetLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__peripheral.html#ga864fc0d1fbad74e37628f58051c8e3f7">packet_type_t</a>&#160;</td>
          <td class="paramname"><em>packetType</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read packet using serial framing. </p>
<p>On return, caller must call flow control method to send AckContinue or AckWait followed by Continue. </p>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="gaa42d9e43cb7237de7d78a2f691bc70ab"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="group__peripheral.html#structperipheral__packet__interface__t">peripheral_packet_interface_t</a> g_framingPacketInterface</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div><div class="line">    <a class="code" href="group__packet.html#ga3707af76120e3f97302536c0615f7add">serial_packet_init</a>,      <a class="code" href="group__packet.html#gaec8900ed4ea5a3c981d66dab38516643">serial_packet_read</a>,     <a class="code" href="group__packet.html#ga7bcf4e62f6cbc2ab39c1666c1d5e752a">serial_packet_write</a>,</div><div class="line">    <a class="code" href="group__packet.html#ga1a60f41326f758000304976fd18d65a2">serial_packet_abort</a>,     <a class="code" href="group__packet.html#ga68e805a1882eb220f1ddd9a08c26030b">serial_packet_finalize</a>, <a class="code" href="group__packet.html#ga598a287b57672291406cff9c728e03f9">serial_packet_get_max_packet_size</a>,</div><div class="line">    <a class="code" href="group__packet.html#ga88407143978559f83d7115b86dc876be">serial_packet_queue_byte</a></div><div class="line">}</div><div class="ttc" id="group__packet_html_ga598a287b57672291406cff9c728e03f9"><div class="ttname"><a href="group__packet.html#ga598a287b57672291406cff9c728e03f9">serial_packet_get_max_packet_size</a></div><div class="ttdeci">uint32_t serial_packet_get_max_packet_size(const peripheral_descriptor_t *self)</div><div class="ttdoc">Get max packet size. </div><div class="ttdef"><b>Definition:</b> serial_packet.c:265</div></div>
<div class="ttc" id="group__packet_html_ga1a60f41326f758000304976fd18d65a2"><div class="ttname"><a href="group__packet.html#ga1a60f41326f758000304976fd18d65a2">serial_packet_abort</a></div><div class="ttdeci">void serial_packet_abort(const peripheral_descriptor_t *self)</div><div class="ttdoc">Abort data phase. </div><div class="ttdef"><b>Definition:</b> serial_packet.c:257</div></div>
<div class="ttc" id="group__packet_html_gaec8900ed4ea5a3c981d66dab38516643"><div class="ttname"><a href="group__packet.html#gaec8900ed4ea5a3c981d66dab38516643">serial_packet_read</a></div><div class="ttdeci">status_t serial_packet_read(const peripheral_descriptor_t *self, uint8_t **packet, uint32_t *packetLength, packet_type_t packetType)</div><div class="ttdoc">Read packet using serial framing. </div><div class="ttdef"><b>Definition:</b> serial_packet.c:129</div></div>
<div class="ttc" id="group__packet_html_ga3707af76120e3f97302536c0615f7add"><div class="ttname"><a href="group__packet.html#ga3707af76120e3f97302536c0615f7add">serial_packet_init</a></div><div class="ttdeci">status_t serial_packet_init(const peripheral_descriptor_t *self)</div><div class="ttdoc">Initialize component. </div><div class="ttdef"><b>Definition:</b> serial_packet.c:117</div></div>
<div class="ttc" id="group__packet_html_ga88407143978559f83d7115b86dc876be"><div class="ttname"><a href="group__packet.html#ga88407143978559f83d7115b86dc876be">serial_packet_queue_byte</a></div><div class="ttdeci">void serial_packet_queue_byte(uint8_t byte)</div><div class="ttdoc">Queues a byte received by the active peripheral. </div><div class="ttdef"><b>Definition:</b> serial_packet.c:110</div></div>
<div class="ttc" id="group__packet_html_ga7bcf4e62f6cbc2ab39c1666c1d5e752a"><div class="ttname"><a href="group__packet.html#ga7bcf4e62f6cbc2ab39c1666c1d5e752a">serial_packet_write</a></div><div class="ttdeci">status_t serial_packet_write(const peripheral_descriptor_t *self, const uint8_t *packet, uint32_t byteCount, packet_type_t packetType)</div><div class="ttdoc">Write packet using serial framing. </div><div class="ttdef"><b>Definition:</b> serial_packet.c:195</div></div>
<div class="ttc" id="group__packet_html_ga68e805a1882eb220f1ddd9a08c26030b"><div class="ttname"><a href="group__packet.html#ga68e805a1882eb220f1ddd9a08c26030b">serial_packet_finalize</a></div><div class="ttdeci">status_t serial_packet_finalize(const peripheral_descriptor_t *self)</div><div class="ttdoc">Finalize. </div><div class="ttdef"><b>Definition:</b> serial_packet.c:123</div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="gadd274c1ccd09e20f83594c95076d1218"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="group__packet.html#structping__response__t">ping_response_t</a> k_PingResponse</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div><div class="line">    MAKE_VERSION(kSerialProtocol_Version_Bugfix,</div><div class="line">                 kSerialProtocol_Version_Minor,</div><div class="line">                 kSerialProtocol_Version_Major,</div><div class="line">                 kSerialProtocol_Version_Name),</div><div class="line">    0,     </div><div class="line">    0xeaaa </div><div class="line">           </div><div class="line">           </div><div class="line">}</div></div><!-- fragment -->
<p>Ping response. </p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Mon Mar 7 2016 16:48:23 for Kinetis Bootloader by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
